/*
 * Copyright 2010 bedatadriven
 *
 *    Licensed under the Apache License, Version 2.0 (the "License");
 *    you may not use this file except in compliance with the License.
 *    You may obtain a copy of the License at
 *
 *        http://www.apache.org/licenses/LICENSE-2.0
 *
 *    Unless required by applicable law or agreed to in writing, software
 *    distributed under the License is distributed on an "AS IS" BASIS,
 *    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 *    See the License for the specific language governing permissions and
 *    limitations under the License.
 */

/**
 * JacobGen generated file --- do not edit
 *
 * (http://www.bigatti.it/projects/jacobgen)
 */
package com.bedatadriven.mso.powerpoint;

import com.bedatadriven.mso.core.MsoTriState;
import com.bedatadriven.mso.core.Shape;

/** Wrapper for PowerPoint.Shape*/
public class PpShape extends Shape {

	protected PpShape() { }

	public native final OLEFormat getOLEFormat()/*-{
		return this.OLEFormat;
	}-*/;

	public native final LinkFormat getLinkFormat()/*-{
		return this.LinkFormat;
	}-*/;

	public native final PlaceholderFormat getPlaceholderFormat()/*-{
		return this.PlaceholderFormat;
	}-*/;

	public native final AnimationSettings getAnimationSettings()/*-{
		return this.AnimationSettings;
	}-*/;

	public native final ActionSettings getActionSettings()/*-{
		return this.ActionSettings;
	}-*/;

	public native final Tags getTags()/*-{
		return this.Tags;
	}-*/;

  public final String getTag(String name) {
    return getTags().getValueByName(name);
  }

	public native final int getMediaType()/*-{
		return this.MediaType;
	}-*/;

	protected native final int _getHasTextFrame()/*-{
		return this.HasTextFrame;
	}-*/;

	public final MsoTriState getHasTextFrame(){
		return MsoTriState.valueOf(_getHasTextFrame());
	}
	public native final SoundFormat getSoundFormat()/*-{
		return this.SoundFormat;
	}-*/;

	protected native final int _getHasTable()/*-{
		return this.HasTable;
	}-*/;

	public final MsoTriState getHasTable(){
		return MsoTriState.valueOf(_getHasTable());
	}

	public native final Table getTable()/*-{
		return this.Table;
	}-*/;

  public final void export(String pathName, PpShapeFormat filter) {
    _export(pathName, filter.getValue(), 0, 0, PpExportMode.RelativeToSlide.getValue() );
  }

  public final void export(String pathName, PpShapeFormat filter, int scaleWidth, int scaleHeight) {
    _export(pathName, filter.getValue(), scaleWidth, scaleHeight, PpExportMode.RelativeToSlide.getValue() );
  }

  public final void export(String pathName, PpShapeFormat filter, int scaleWidth, int scaleHeight, PpExportMode exportMode) {
    _export(pathName, filter.getValue(), scaleWidth, scaleHeight, exportMode.getValue() );
  }

	private native final void _export(String pathName, int filter, int scaleWidth, int scaleHeight, int exportMode)/*-{
		this.Export( pathName, filter, scaleWidth, scaleHeight, exportMode);
	}-*/;

	public native final Diagram getDiagram()/*-{
		return this.Diagram;
	}-*/;

  public final PpShape getParentGroup() {
    return (PpShape) _getParentGroup();
  }

	public native final CustomerData getCustomerData()/*-{
		return this.CustomerData;
	}-*/;

	public native final Chart getChart()/*-{
		return this.Chart;
	}-*/;
	

}
